﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BL;
using BE;
using System.Data;

namespace UI.DireccionAcademica
{
    public partial class FrmMantenimientoNotas : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnBuscar_Click1(object sender, EventArgs e)
        {
            try
            {
                String codigo = txtCodigo.Text;
                String nombre = txtNombre.Text;
                Notas_BL notas = new Notas_BL();
                //List<ListadoAlumnos> listado = notas.BusquedaAlumnos(ArmarFiltro(codigo,nombre));
                DataTable listado = notas.BusquedaAlumnosListado(ArmarFiltro(codigo, nombre));

                if (listado.Rows.Count == 1)
                {
                            DataRow row = listado.Rows[0];
                            Session["CodigoAlumno"] = row["COD_ALUMNO"].ToString();
                }
                else {
                    llenarTablaAlumnos(listado);
                    return;
                } 
            }
            catch (Exception ex)
            {

                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "alert('" + "Se produjo el siguiete error :" + ex.Message + "');", true);
                return;
            }
            Response.Redirect("FrmMantenimientoDeNotasAlumno.aspx");
        }


        private String ArmarFiltro(String codigo, String nombre) {
            String resultado="";

            if (codigo.Length > 0) {
                resultado += "cod_alumno like '%" + codigo + "%'";
            }

            if (nombre.Length > 0)
            {
                if (resultado.Length > 0) {
                    resultado += " and ";
                }
                resultado += "concat(dm.APEPAT,' ',dm.APEMAT,' ',dm.NOMBRE)  like '%" + nombre + "%'";
            }

            if (resultado.Length > 0) {
                resultado = " where " + resultado;
            }

            return resultado;
        }

        private void llenarTablaAlumnos(DataTable listado)
        {
            try
            {
                if (listado.Rows.Count == 0) {
                    gridListadoAlumnos.Caption = "No se encontro ningun alumno";
                }

                gridListadoAlumnos.DataSource = listado;
                gridListadoAlumnos.DataBind();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "script", "alert('" + "Se produjo el siguiete error :" + ex.Message + "');", true);

            }
        }

        protected void gridListadoAlumnos_SelectedIndexChanged(object sender, EventArgs e)
        {

            String CodigoAlumno = gridListadoAlumnos.SelectedRow.Cells[0].Text;

            Session["CodigoAlumno"] = CodigoAlumno;


            Response.Redirect("FrmMantenimientoDeNotasAlumno.aspx");
         


        }

        protected void gridListadoAlumnos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            String codigo = txtCodigo.Text;
            String nombre = txtNombre.Text;
            Notas_BL notas = new Notas_BL();
            DataTable listado = notas.BusquedaAlumnosListado(ArmarFiltro(codigo, nombre));
            gridListadoAlumnos.PageIndex = e.NewPageIndex;
            llenarTablaAlumnos(listado);
        }

       
    

    }
}